Color images are typically represented by specifying three values for each pixel in the image. For example, the values in question may be the intensity of the primary colors needed to generate the desired color. A number of alternative representations are also known to the art. For the purposes of this discussion, these various representations will be referred to as spectral representations. Given the three values in any one of these spectral representations, the corresponding three values in any other representation may be obtained from an appropriate transformation that can be written in closed form.
Not all display devices work from spectral representations. Consider a color printer which operates by mixing three colors of ink to generate the pixels of an image on the paper. The printer "knows" how to generate a pixel given three ink intensity values, I.sub.1, I.sub.2, and I.sub.3. The device using the printer typically stores its color as (R,G,B) values. The transformation from (R,G,B) representation of a pixel to the corresponding (I.sub.1, I.sub.2, I.sub.3) value cannot, in general, be written in closed form. In such cases, the transformation must be determined experimentally. This is accomplished by printing samples of the colors obtained by mixing known quantities of each ink and then measuring the (R,G,B) values of the sample using a spectrometer. The measured values represent the transformation from the printer color representation (I.sub.1, I.sub.2, I.sub.3) to a (R,G,B) value. The inverse of this transformation may be stored in a look-up table which is used by the printer or a device using the printer to generate the correct ink intensity values for a given (R,G,B) value.
The look-up table approach can require a significant mount of memory and/or processor capacity. In a full color display system, there are typically 256 possible values for each intensity value for each of the primary colors in the representation. Hence, the corresponding look-up table would require in excess of 16 megabytes of memory. This memory requirement is unacceptable for many applications. To reduce the memory, a smaller table can be used with tri-linear interpolation. However, the system now requires a processor capable of performing the interpolation. Such a processor can represent a significant fraction of the cost of a low cost printer.
Similar color transformation problems are encountered with scanning devices. That is, the transformation from the color values produced by the scanner to one of the standard color representations must be generated experimentally and stored in a look-up table.
Broadly, it is the object of the present invention to provide an improved system for converting color values between various color representational schemes.
It is a further object of the present invention to provide a transformation system that does not require a large look-up table.
It is a still further object of the present invention to provide a transformation system that does not require a general purpose digital processor.
These and other objects of the present invention will become apparent to those skilled in the art from the following detailed description of the invention and the accompanying drawings.